<template>
  <div>
    <div v-for="menu in menus" :key="menu.path">
      <!-- 判断当前路由组件是否还有注册子路由组件 -->
      <el-submenu
        v-if="menu.children && menu.children.length > 0"
        :index="menu.path"
      >
        <template slot="title">
          <!-- 动态绑定图标 -->
          <i :class="menu.meta.icon"></i>
          <!-- 显示当前标题 -->
          <span :class="menuTitleDisplay">{{ menu.meta.title}}</span>
        </template>

        <!-- 嵌套使用组件 就是如果还有子组件再继续循环遍历 -->
        <navbar-item :menus="menu.children"></navbar-item>
      </el-submenu>

      <!-- 如果下级路由组件有title属性 -->
  
      <el-menu-item style="min-width: auto !important;" v-else-if="menu.meta.title && menu.name!='Error' " :index="menu.path">
        <!-- 图标 -->
         <i :class="menu.meta.icon"></i>
        <!-- 则直接显示当前标题 -->
        <span :class="menuTitleDisplay" slot="title">{{ menu.meta.title }}</span>
      </el-menu-item>
      <!-- //没有就什么都不写 -->
    </div>
  </div>
</template>

<script>
export default {
  name: "NavbarItem",
  props: {
    menus: {
      type: Array,
      require: true,
    },
    collapse: {
      type: Boolean,
      default: false,
    },
  },
  data() {
    return {
      menuTitleDisplay: {
        menu_title: this.collapse,
      },
    };
  },
};
</script>

<style>
.menu_title {
  display: none !important;
}
/* 去除折叠后出现的小箭头 */
.el-menu--collapse .el-submenu__icon-arrow {
  display: none !important;
}

</style>